import i18n from '../i18n'

const checkInput = {
  state: {
    checkIdInput: '',
    checkCardInput: ''
  },
  mutations: {
    checkIdInput: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.inputNum'))
      } else if (!/^\d{1,19}$/.test(obj.value)) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    checkCardInput: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.inputNum'))
      } else if (!/^\d{1,17}$/.test(obj.value)) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    checkNumInput: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.inputNum'))
      } else {
        obj.cb()
      }
    },
    numInputCheck: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^\d{1,40}$/.test(obj.value)) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    numIBANInputCheck: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^[a-zA-Z0-9]{1,40}$/.test(obj.value)) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    personalIdNumInput: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^[\u4E00-\u9FA5a-zA-Z0-9]{1,128}$/.test(obj.value)) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    selectInputCheck: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.selectOne'))
      } else {
        obj.cb()
      }
    },
    // 客户号校验
    checkFormCustNo: (state, obj) => {
      if (!obj.value.trim()) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^\d{1,17}$/.test(obj.value.trim())) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    // 账号校验
    checkFormAccNo: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^\d{1,17}$/.test(obj.value.trim())) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    // 证件号校验
    checkFormIdNo: (state, obj) => {
      // if (!obj.value) {
      //   obj.cb(i18n.t('tipData.noEmptyInput'))
      // } else if (!/^[\u4E00-\u9FA5a-zA-Z0-9]{1,42}$/.test(obj.value)) {
      //   obj.cb(i18n.t('tipData.correctNum'))
      // } else {
      //   obj.cb()
      // }
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^.{1,42}$/.test(obj.value.trim())) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    // 支票号校验
    checkChequeInput: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^[A-Za-z0-9]{1,20}$/.test(obj.value.trim())) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    // 卡号校验
    checkFormCardNo: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^\d{1,19}$/.test(obj.value.trim())) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    // 其他服务页面弹框的手机号校验
    otherMobileNumber: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^\d{1,50}$/.test(obj.value)) {
        obj.cb(i18n.t('tipData.mobileNumber'))
      } else {
        obj.cb()
      }
    },
    // 请先选择查询方式
    checkFormNoEmptySelect: (state, obj) => {
      obj.cb(i18n.t('tipData.noEmptySelect'))
    },
    // 经办人校验模糊搜索校验
    checkFormOperatorInput: (state, obj) => {
      if (!/^[A-Za-z0-9-_*?？*]*$/.test(obj.value)) {
        obj.cb('经办人格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 户主证件号模糊搜索校验
    checkHouseHoldIdNoInput: (state, obj) => {
      if (!/^.{0,42}$/.test(obj.value)) {
        obj.cb('户主证件号格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 账号/卡号模糊搜索校验
    checkNumsInput: (state, obj) => {
      if (!/^[0-9*?？*]{0,42}$/.test(obj.value)) {
        obj.cb('账号/卡号格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 户主证件号模糊搜索校验(借记卡服务记录)
    checkCarserHouseHoldIdNoInput: (state, obj) => {
      if (!/^.{0,100}$/.test(obj.value)) {
        obj.cb('户主证件号格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 卡号模糊搜索校验(借记卡服务记录)
    checkCarserNumsInput: (state, obj) => {
      if (!/^[0-9*?？*]{0,100}$/.test(obj.value)) {
        obj.cb('账号/卡号格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 经办人校验模糊搜索校验(借记卡服务记录)
    checkCarserFormOperatorInput: (state, obj) => {
      if (!/^[A-Za-z0-9-_*?？*]*$/.test(obj.value)) {
        obj.cb('经办人格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 支票号模糊搜索校验
    checkChequeNumberInput: (state, obj) => {
      if (!/^[A-Za-z0-9*?*]{0,20}$/.test(obj.value)) {
        obj.cb('支票号格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 代办人姓名校验
    checkAgentNameInput: (state, obj) => {
      if (!/^.{0,100}$/.test(obj.value)) {
        obj.cb('代办人姓名输入有误')
      } else {
        obj.cb()
      }
    },
    // 代办人证件号校验
    checkAgentIDNumInput: (state, obj) => {
      if (!/^.{0,100}$/.test(obj.value)) {
        obj.cb('代办人证件号格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 代办人电话校验
    checkAgentPhoneInput: (state, obj) => {
      if (!/^[0-9+-]{0,100}$/.test(obj.value)) {
        obj.cb('代办人电话格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 借记卡服务记录电话校验
    checkCardSerPhoneInput: (state, obj) => {
      if (!/^[0-9+-]{0,20}$/.test(obj.value)) {
        obj.cb('联系电话格式输入有误')
      } else {
        obj.cb()
      }
    },
    // 卡号校验
    checkFormNumNo: (state, obj) => {
      if (!obj.value) {
        obj.cb(i18n.t('tipData.noEmptyInput'))
      } else if (!/^\d{1,20}$/.test(obj.value)) {
        obj.cb(i18n.t('tipData.correctNum'))
      } else {
        obj.cb()
      }
    },
    // 卡号校验
    checkFormNumNo1: (state, obj) => {
      obj.cb()
    }
  }
}
export default checkInput
